// Micoua_EditUI.js
(function () {
    /** 公共常量 */
    var giteeURL = "https://gitee.com/micoua/tmjsb/raw/master";

    /** 基础入口 */
    function main() {
        addElement(); // 添加元素
        addEvent(); // 添加事件
    }

    /** 添加元素 */
    let addElement = function () {
        // 添加总窗口
        $("body").append('<div id="jsb-window" class="jsb-window"></div>');
        // 添加总按钮
        $("#jsb-window").append('<div id="jsb-btn" class="jsb-btn state-enabled"></div>');
        $("#jsb-btn").css("background", 'url(' + giteeURL + '/ico/jiuyuexiaohei-250x250.png) center');
        // 添加功能按钮
        let functionBtns = {
            'BiliLive': 'jiuyuexiaohei-250x250.png',
            'VIPVideoCracker': 'jiuyuexiaohei-250x250.png',
            'OCRTranslate': 'jiuyuexiaohei-250x250.png',
            'MiniBrowser': 'jiuyuexiaohei-250x250.png'
        };
        for (let fb in functionBtns) {
            let fbIdStr = "fb-" + fb;
            $("#jsb-window").append('<div id="' + fbIdStr + '" class="function-btn state-enabled" title="' + fb + '"></div>');
            $("#" + fbIdStr).css("background", 'url(' + giteeURL + '/ico/' + functionBtns[fb] + ') center');
        }
    }

    /** 添加事件 */
    let addEvent = function () {
        // 点击总按钮
        $(".jsb-btn").on("click", function () {
            if ($(this).hasClass("state-enabled")) {
                $(this).removeClass("state-enabled");
                $(this).addClass("state-disabled");
                $(".function-btn").removeClass("state-enabled");
                $(".function-btn").addClass("state-disabled");
            } else {
                $(this).removeClass("state-disabled");
                $(this).addClass("state-enabled");
                $(".function-btn").removeClass("state-disabled");
                $(".function-btn").addClass("state-enabled");
            }
            setJsbBtnBorderColor();
        });
        // 点击功能按钮
        $(".function-btn").on("click", function () {
            if ($(this).hasClass("state-enabled")) {
                $(this).removeClass("state-enabled");
                $(this).addClass("state-disabled");
            } else {
                $(this).removeClass("state-disabled");
                $(this).addClass("state-enabled");
            }
            setJsbBtnBorderColor();
        });
    }

    /** 设置总按钮边框颜色 */
    let setJsbBtnBorderColor = function () {
        let $_functionBtns = $(".function-btn");
        var enabledCount = 0;
        var disabledCount = 0;
        for (var i = 0; i < $_functionBtns.length; i++) {
            if ($.inArray("state-enabled", $_functionBtns[i].classList) != -1) {
                enabledCount++;
            } else {
                disabledCount++;
            }
        }
        if (enabledCount == $_functionBtns.length) {
            $(".jsb-btn").removeClass("state-disabled");
            $(".jsb-btn").removeClass("state-half-enabled");
            $(".jsb-btn").addClass("state-enabled");
        } else if (disabledCount == $_functionBtns.length) {
            $(".jsb-btn").removeClass("state-enabled");
            $(".jsb-btn").removeClass("state-half-enabled");
            $(".jsb-btn").addClass("state-disabled");
        } else {
            $(".jsb-btn").removeClass("state-enabled");
            $(".jsb-btn").removeClass("state-disabled");
            $(".jsb-btn").addClass("state-half-enabled");
        }
    }

    /** 进入主函数 */
    main();
})();